package com.hsteach.dao.mapper.wage;

import java.util.List;
import com.hsteach.dao.domain.wage.WageTemplate;
import org.apache.ibatis.annotations.Param;

/**
 * 工资模版Mapper接口
 *
 * @author fanxquer
 * @date 2023-07-13
 */
public interface WageTemplateMapper
{
    /**
     * 查询工资模版
     *
     * @param id 工资模版主键
     * @return 工资模版
     */
    public WageTemplate selectWageTemplateById(Long id);

    /**
     * 查询工资模版列表
     *
     * @param wageTemplate 工资模版
     * @return 工资模版集合
     */
    public List<WageTemplate> selectWageTemplateList(WageTemplate wageTemplate);

    /**
     * 新增工资模版
     *
     * @param wageTemplate 工资模版
     * @return 结果
     */
    public int insertWageTemplate(WageTemplate wageTemplate);

    /**
     * 修改工资模版
     *
     * @param wageTemplate 工资模版
     * @return 结果
     */
    public int updateWageTemplate(WageTemplate wageTemplate);

    public int updateDelFlg(Long id);

    public int updateNotDefaultByOrgCode(@Param("orgCode") String orgCode);

    /**
     * 删除工资模版
     *
     * @param id 工资模版主键
     * @return 结果
     */
    public int deleteWageTemplateById(Long id);

    /**
     * 批量删除工资模版
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWageTemplateByIds(@Param("ids") Long[] ids);

    public Long selectMaxOrder(String orgCode);

    /**
     * 判断工资模板是否可以删除
     * @param id 工资ID
     * @return 是否可以删除，1是，0否
     */
    int selectCanDelete(@Param("id") Long id);

    /**
     * 批量查询工资模板是否可以删除
     * @param ids 模板ID
     * @return 模板集合
     */
    List<WageTemplate> batchSelectCanDeleteFlagById(@Param("ids") Long[] ids);
}
